<!doctype html>



  


<html class="theme-next pisces use-motion">
<head>
  <meta charset="UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"/>



<meta http-equiv="Cache-Control" content="no-transform" />
<meta http-equiv="Cache-Control" content="no-siteapp" />












  
  
  <link href="/vendors/fancybox/source/jquery.fancybox.css?v=2.1.5" rel="stylesheet" type="text/css" />




  
  
  
  

  
    
    
  

  

  

  

  

  
    
    
    <link href="//fonts.googleapis.com/css?family=Lato:300,300italic,400,400italic,700,700italic&subset=latin,latin-ext" rel="stylesheet" type="text/css">
  






<link href="/vendors/font-awesome/css/font-awesome.min.css?v=4.4.0" rel="stylesheet" type="text/css" />

<link href="/css/main.css?v=5.0.1" rel="stylesheet" type="text/css" />


  <meta name="keywords" content="王雨峰, 博客" />








  <link rel="shortcut icon" type="image/x-icon" href="/favicon.ico?v=5.0.1" />






<meta name="description" content="通过这本书，捋了一遍密码技术中的各种名词，有些在以前不理解其含义的词，现在大体有个概念了，开心。
‘图灵程序设计丛书’每一本都很喜欢。在读这本书的时候，隐约想起了《信息简史》这本书中的一些内容，比如信息的压缩、信息的意义等等。等时机成熟，再重读一遍《信息简史》。
另外，”密钥”这个词真的是读”密yue”吗，感觉好奇怪啊=。=
脉络（目录结构）
密码
经典密码
对称密码
分组密码
公钥密码
混和密码">
<meta property="og:type" content="article">
<meta property="og:title" content="《图解密码技术》读书笔记">
<meta property="og:url" content="http://wangyufeng.org/2016/09/03/图解密码技术读书笔记/index.html">
<meta property="og:site_name" content="王雨峰的博客">
<meta property="og:description" content="通过这本书，捋了一遍密码技术中的各种名词，有些在以前不理解其含义的词，现在大体有个概念了，开心。
‘图灵程序设计丛书’每一本都很喜欢。在读这本书的时候，隐约想起了《信息简史》这本书中的一些内容，比如信息的压缩、信息的意义等等。等时机成熟，再重读一遍《信息简史》。
另外，”密钥”这个词真的是读”密yue”吗，感觉好奇怪啊=。=
脉络（目录结构）
密码
经典密码
对称密码
分组密码
公钥密码
混和密码">
<meta property="og:updated_time" content="2016-09-03T10:02:29.000Z">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="《图解密码技术》读书笔记">
<meta name="twitter:description" content="通过这本书，捋了一遍密码技术中的各种名词，有些在以前不理解其含义的词，现在大体有个概念了，开心。
‘图灵程序设计丛书’每一本都很喜欢。在读这本书的时候，隐约想起了《信息简史》这本书中的一些内容，比如信息的压缩、信息的意义等等。等时机成熟，再重读一遍《信息简史》。
另外，”密钥”这个词真的是读”密yue”吗，感觉好奇怪啊=。=
脉络（目录结构）
密码
经典密码
对称密码
分组密码
公钥密码
混和密码">



<script type="text/javascript" id="hexo.configuration">
  var NexT = window.NexT || {};
  var CONFIG = {
    scheme: 'Pisces',
    sidebar: {"position":"left","display":"post"},
    fancybox: true,
    motion: true,
    duoshuo: {
      userId: 0,
      author: '博主'
    }
  };
</script>




  <link rel="canonical" href="http://wangyufeng.org/2016/09/03/图解密码技术读书笔记/"/>

  <title> 《图解密码技术》读书笔记 | 王雨峰的博客 </title>
</head>

<body itemscope itemtype="http://schema.org/WebPage" lang="zh-Hans">

  










  
  
    
  

  <div class="container one-collumn sidebar-position-left page-post-detail ">
    <div class="headband"></div>

    <header id="header" class="header" itemscope itemtype="http://schema.org/WPHeader">
      <div class="header-inner"><div class="site-meta ">
  

  <div class="custom-logo-site-title">
    <a href="/"  class="brand" rel="start">
      <span class="logo-line-before"><i></i></span>
      <span class="site-title">王雨峰的博客</span>
      <span class="logo-line-after"><i></i></span>
    </a>
  </div>
  <p class="site-subtitle">随便写点东西，为互联网贡献一些比特~</p>
</div>

<div class="site-nav-toggle">
  <button>
    <span class="btn-bar"></span>
    <span class="btn-bar"></span>
    <span class="btn-bar"></span>
  </button>
</div>

<nav class="site-nav">
  

  
    <ul id="menu" class="menu">
      
        
        <li class="menu-item menu-item-home">
          <a href="/" rel="section">
            
              <i class="menu-item-icon fa fa-fw fa-home"></i> <br />
            
            首页
          </a>
        </li>
      
        
        <li class="menu-item menu-item-about">
          <a href="/about" rel="section">
            
              <i class="menu-item-icon fa fa-fw fa-user"></i> <br />
            
            关于
          </a>
        </li>
      
        
        <li class="menu-item menu-item-archives">
          <a href="/archives" rel="section">
            
              <i class="menu-item-icon fa fa-fw fa-archive"></i> <br />
            
            归档
          </a>
        </li>
      

      
    </ul>
  

  
</nav>

 </div>
    </header>

    <main id="main" class="main">
      <div class="main-inner">
        <div class="content-wrap">
          <div id="content" class="content">
            

  <div id="posts" class="posts-expand">
    

  
  

  
  
  

  <article class="post post-type-normal " itemscope itemtype="http://schema.org/Article">

    
      <header class="post-header">

        
        
          <h1 class="post-title" itemprop="name headline">
            
            
              
                《图解密码技术》读书笔记
              
            
          </h1>
        

        <div class="post-meta">
          <span class="post-time">
            <span class="post-meta-item-icon">
              <i class="fa fa-calendar-o"></i>
            </span>
            <span class="post-meta-item-text">发表于</span>
            <time itemprop="dateCreated" datetime="2016-09-03T14:55:57+08:00" content="2016-09-03">
              2016-09-03
            </time>
          </span>

          

          
            
          

          

          
          

          
        </div>
      </header>
    


    <div class="post-body" itemprop="articleBody">

      
      

      
        <p>通过这本书，捋了一遍密码技术中的各种名词，有些在以前不理解其含义的词，现在大体有个概念了，开心。</p>
<p>‘图灵程序设计丛书’每一本都很喜欢。在读这本书的时候，隐约想起了《信息简史》这本书中的一些内容，比如信息的压缩、信息的意义等等。等时机成熟，再重读一遍《信息简史》。</p>
<p>另外，”密钥”这个词真的是读”密yue”吗，感觉好奇怪啊=。=</p>
<h1 id="脉络（目录结构）"><a href="#脉络（目录结构）" class="headerlink" title="脉络（目录结构）"></a>脉络（目录结构）</h1><ul>
<li>密码<ul>
<li>经典密码</li>
<li>对称密码</li>
<li>分组密码</li>
<li>公钥密码</li>
<li>混和密码系统</li>
</ul>
</li>
<li>认证<ul>
<li>单向散列函数</li>
<li>消息认证码</li>
<li>数字签名</li>
<li>证书</li>
</ul>
</li>
<li>密钥、随机数与应用技术<ul>
<li>密钥</li>
<li>随机数</li>
<li>PGP</li>
<li>SSL/TLS</li>
<li>密码技术与现实社会</li>
</ul>
</li>
</ul>
<h1 id="密码"><a href="#密码" class="headerlink" title="密码"></a>密码</h1><h2 id="密码与信息安全常识"><a href="#密码与信息安全常识" class="headerlink" title="密码与信息安全常识"></a>密码与信息安全常识</h2><ul>
<li>不要使用保密的密码算法，即，不要依赖于”隐蔽式安全性”。公开的算法是最安全的，算法的效果取决于”种子”。</li>
<li>与其使用低强度的密码，不如不使用密码。</li>
<li>没有永恒安全的密码。</li>
<li>密码只是信息安全的一部分(e.g. 社工)。</li>
</ul>
<h2 id="传统密码"><a href="#传统密码" class="headerlink" title="传统密码"></a>传统密码</h2><ul>
<li>凯撒密码：字母表平移。可暴力破解。</li>
<li>简单替换密码：字母表映射。可通过频率分析破解。</li>
<li>Enigma。Enigma的设计就不依赖于”隐蔽式安全性”，即，机器被敌军捕获了也没关系。有一段阿兰·图灵的故事。</li>
</ul>
<h2 id="对称密码"><a href="#对称密码" class="headerlink" title="对称密码"></a>对称密码</h2><ul>
<li>对称密码：加密密钥和解密密钥一样。</li>
<li>一次性密码本：从数学理论上就绝对无法被破解的密码，量子计算机也不行。但没被实际应用，原因是密钥配送和密钥长度是问题。不能被破解的原因：解密文本包含原文的所有排列组合空间。</li>
<li>DES：分组密码的一种。结构是 Feistel 网络。已经弃用。</li>
<li>三重 DES：DES 的加强版。</li>
<li>AES：AES所采用的算法：Rijndael。AES 是对称密码的首选。</li>
</ul>
<h2 id="分组密码"><a href="#分组密码" class="headerlink" title="分组密码"></a>分组密码</h2><ul>
<li>分组密码：每次只能处理特定长度的一块数据的一类密码算法。</li>
<li>模式：  <ul>
<li>ECB（不要使用）</li>
<li>CBC</li>
<li>CFB</li>
<li>OFB</li>
<li>CTR</li>
</ul>
</li>
</ul>
<h2 id="公钥密码"><a href="#公钥密码" class="headerlink" title="公钥密码"></a>公钥密码</h2><ul>
<li>公钥密码的诞生：解决”密码配送问题”，即，密钥的传输过程中如何保证不被窃听。</li>
<li>密码配送问题的解决方案：<ol>
<li>通过事先共享密钥</li>
<li>通过密钥分配中心</li>
<li>通过 Diffie-Hellman 密钥交换</li>
<li>通过公钥密码</li>
</ol>
</li>
<li>公钥密码的含义：Alice 想要发送秘密的信息给 Bob，但是密钥的发送不能保证安全性(密钥也需要加密，但加密密钥的密钥保证不了安全)，于是 Bob(接收者) 就生成一个密钥对（公私钥），把公钥发给 Alice，这个公钥全世界都能看。Alice 用 Bob 的公钥把信息加密，发给 Bob。Bob 再用自己的私钥解密这个消息。因为 Bob 私钥根本就没进行”发送”，一直在自己手上，所以即便密文被被窃听，窃听者也解密不了，因为没有私钥。</li>
<li>公私钥之间具有紧密的数学联系。</li>
<li>一旦发现了对大整数进行质因数分解的高效算法，RSA 就被破解。</li>
<li>P=NP？ &lt;—&gt; 具有该高效算法</li>
<li>RSA 的不足：中间人攻击。通过证书解决。</li>
</ul>
<h2 id="混合密码系统"><a href="#混合密码系统" class="headerlink" title="混合密码系统"></a>混合密码系统</h2><ul>
<li>由于公钥密码的速度比对称密码慢很多，所以解决方案是：用对称密码加密明文，然后将对称密码的密钥用公钥密码加密。</li>
</ul>
<h1 id="认证"><a href="#认证" class="headerlink" title="认证"></a>认证</h1><h2 id="单向散列函数"><a href="#单向散列函数" class="headerlink" title="单向散列函数"></a>单向散列函数</h2><ul>
<li>求比特序列的 Hash 值。即，序列的特征值，只能单向运算（不能逆推），计算速度快，一般长度固定。也叫作指纹。</li>
<li>不同的消息散列值也不同，除非出现碰撞。</li>
<li>MD5（安全性已不能保证）</li>
<li>SHA-2</li>
<li>SHA-3(最新，使用了和 SHA-1和 SHA-2 不同的结构，即 Keccak)</li>
<li>对单向散列函数的攻击：<ul>
<li>暴力破解（碰撞，对抗弱抗碰撞性）</li>
<li>生日攻击（碰撞，对抗强抗碰撞性）</li>
</ul>
</li>
</ul>
<h2 id="消息验证码"><a href="#消息验证码" class="headerlink" title="消息验证码"></a>消息验证码</h2><ul>
<li>简称 MAC，Message Authentication Code</li>
<li>是一种与密钥相关联的单向散列函数</li>
<li>双方需要共享密钥</li>
<li>可以使用单向散列函数实现，也可以使用分组密钥实现</li>
<li>对消息验证码的攻击：重放攻击、密钥推测攻击。</li>
<li>消息验证码的缺点：不能对第三方验证（证书可解决），不能防止”否认”。</li>
</ul>
<h2 id="数字签名"><a href="#数字签名" class="headerlink" title="数字签名"></a>数字签名</h2><ul>
<li>即，将 RSA 的过程反过来。用私钥加密自己的信息，所有人可用公开的公钥来验证。</li>
<li>数字签名的方法：对消息进行签名(量大，且机密性不是数字签名的需求)。所以使用：对散列值进行签名。</li>
<li>“数字签名”一词中的”签名”，是”signature”，不是”autograph”.</li>
<li>对数字签名的攻击：中间人攻击、对单向散列函数攻击、利用数字签名攻击公钥密码（所以绝对不要对不明来源的信息进行签名）、潜在伪造。</li>
<li>为了确认自己用于验证数字签名的公钥是否合法，需要使用证书。</li>
</ul>
<h2 id="证书"><a href="#证书" class="headerlink" title="证书"></a>证书</h2><ul>
<li>即，证书颁发机构用自己的私钥，对一个需要验证的公钥进行数字签名，并发布自己的公钥。</li>
<li>信任链递归了怎么办？Root CA。理论上，如果能够取得可信的公钥，就不需要认证机构。即，</li>
<li>公钥基础设施（PKI）</li>
<li>如果证书作废，发布 CRL。作为用户一定及时更新 CRL。</li>
</ul>
<h1 id="第三部分"><a href="#第三部分" class="headerlink" title="第三部分"></a>第三部分</h1><p>##密钥</p>
<ul>
<li>密钥的本质：一个巨大的整数</li>
<li>分类<ul>
<li>对称密码的密钥、公钥密码的密钥</li>
<li>消息认证码的密钥、数字签名的密钥</li>
<li>用于确保机密性的密钥、用于认证的密钥</li>
<li>会话密钥、主密钥</li>
</ul>
</li>
<li>内容加密密钥：CEK</li>
<li>密钥加密密钥：KEK</li>
<li>生成密钥：使用专门针对密码学设计的伪随机数生成器</li>
<li>基于口令的密钥：最后一层保障放在大脑里</li>
<li>密钥的配送（e.g. RSA）</li>
<li>密钥的更新（e.g. 散列值递归，具备”向后安全”）</li>
<li>密钥的作废：CRL</li>
</ul>
<p>如何生成安全的密钥：</p>
<ul>
<li>不使用自己的信息、不使用别人的有关信息、不使用逻辑上顺序的一系列密码。</li>
</ul>
<h2 id="随机数"><a href="#随机数" class="headerlink" title="随机数"></a>随机数</h2><p>随机数发生器对密钥的生成很重要。</p>
<p>随机数的特性：</p>
<ul>
<li>随机性</li>
<li>不可预测性</li>
<li>不可重现性</li>
</ul>
<p>只具有随机性的是弱伪随机数、具有随机性和不可预测性的是强伪随机数、具有三者的是真随机数。</p>
<ul>
<li>软件生成的随机数只能是伪随机数。真随机数需要靠物理传感器等硬件设备生成。</li>
</ul>
<p>线性同余法：具有随机性，但是不具有不可预测性，所以不能用于密码学的随机数。c 语言标准库中的 rand() 就使用的是线性同余法。</p>
<p>生成伪随机数列的方法：</p>
<ul>
<li>散列法</li>
<li>密码法</li>
</ul>
<p>伪随机数生成器的种子：真随机数。</p>
<h2 id="PGP"><a href="#PGP" class="headerlink" title="PGP"></a>PGP</h2><ul>
<li>Pretty Good Privary, 一个包含各类密码工具的密码软件。</li>
<li>采用”信任网”，不依赖特定的认证机构。去中心化。</li>
</ul>
<h2 id="SSL-TLS"><a href="#SSL-TLS" class="headerlink" title="SSL/TLS"></a>SSL/TLS</h2><ul>
<li>结合对称密码、公钥密码、单向散列函数、消息认证码、伪随机数发生器、数字签名等技术。</li>
<li>对 HTTP 协议的保护，即 HTTPS</li>
<li>也可以用于保护其他协议</li>
<li>心脏出血漏洞：利用的是 OpenSSL 对 TLS 实现上的缺陷。</li>
</ul>
<h2 id="密码技术与现实社会"><a href="#密码技术与现实社会" class="headerlink" title="密码技术与现实社会"></a>密码技术与现实社会</h2><p>###小结</p>
<ul>
<li>对称密钥是一种用相同的密钥进行加密和解密的技术，用于确保消息的机密性，目前对称密码的算法主要使用 AES。但存在密码配送问题，用公钥密码解决。</li>
<li>公钥密码是一种使用不同的密钥进行加密和解密的技术，同样用于确保消息的机密性。速度很慢，一般和对称密钥组成混和密码系统。但存在中间人攻击的问题，用数字签名和证书解决。</li>
<li>单向散列函数是一种将长消息转换为短散列值的技术，用于确保消息的完整性。主要使用 SHA-2和 SHA-3.</li>
<li>消息认证码是一种能够识别通信对象发送的消息是否被篡改的认证技术，用于验证消息的完整性，以及对消息进行验证。常用的算法是 HMAC。</li>
<li>数字签名是一种能够对第三方进行消息认证，并能够防止通信对象作出否认的认证技术。算法包括 RSA 等。公钥基础设施（PKI）中所使用的证书，就是对公钥加上认证机构的数字签名所构成的。要验证公钥的数字签名，需要通过某种途径获取认证机构自身的合法公钥。</li>
<li><p>伪随机数发生器是一种能够生成具备不可预测性的比特序列的技术，由密码和单向散列函数等技术构成。</p>
</li>
<li><p>密码技术的框架化：可方便地替换掉不再安全的密码技术。</p>
</li>
<li><p>密码技术实际上可以看成压缩技术。</p>
</li>
</ul>
<p>关于比特币：</p>
<ul>
<li>区块链</li>
<li>P2P 网络</li>
<li>挖矿</li>
<li>椭圆曲线</li>
</ul>
<p>关于完美：</p>
<ul>
<li>没有完美的密码技术。即使有完美的密码技术，使用密码技术的也是不完美的人。完美的安全性是无法达到的。</li>
</ul>
<p>椭圆曲线：</p>
<ul>
<li>既不是”椭圆”，也不是”曲线”(是离散值)</li>
<li>椭圆曲线上的运算相当于在包含椭圆曲线上所有点以及无限远点的集合上的阿贝尔群，群以无限远点 O 为单位元。（已经忘记阿贝尔群是啥意思了 Σ(°Д°; 罪过啊）</li>
</ul>
<hr>
<p>2016.9.3</p>

      
    </div>

    <div>
      
        

      
    </div>

    <div>
      
        

      
    </div>

    <footer class="post-footer">
      

      
        <div class="post-nav">
          <div class="post-nav-next post-nav-item">
            
              <a href="/2016/08/31/internship-summary/" rel="next" title="在创宇实习两个月的收获和感悟">
                <i class="fa fa-chevron-left"></i> 在创宇实习两个月的收获和感悟
              </a>
            
          </div>

          <div class="post-nav-prev post-nav-item">
            
          </div>
        </div>
      

      
      
    </footer>
  </article>



    <div class="post-spread">
      
    </div>
  </div>


          </div>
          


          
  <div class="comments" id="comments">
    
  </div>


        </div>
        
          
  
  <div class="sidebar-toggle">
    <div class="sidebar-toggle-line-wrap">
      <span class="sidebar-toggle-line sidebar-toggle-line-first"></span>
      <span class="sidebar-toggle-line sidebar-toggle-line-middle"></span>
      <span class="sidebar-toggle-line sidebar-toggle-line-last"></span>
    </div>
  </div>

  <aside id="sidebar" class="sidebar">
    <div class="sidebar-inner">

      

      
        <ul class="sidebar-nav motion-element">
          <li class="sidebar-nav-toc sidebar-nav-active" data-target="post-toc-wrap" >
            文章目录
          </li>
          <li class="sidebar-nav-overview" data-target="site-overview">
            站点概览
          </li>
        </ul>
      

      <section class="site-overview sidebar-panel ">
        <div class="site-author motion-element" itemprop="author" itemscope itemtype="http://schema.org/Person">
          <img class="site-author-image" itemprop="image"
               src="/images/avatar.gif"
               alt="Alan" />
          <p class="site-author-name" itemprop="name">Alan</p>
          <p class="site-description motion-element" itemprop="description">Alan Wang's personal blog.</p>
        </div>
        <nav class="site-state motion-element">
          <div class="site-state-item site-state-posts">
            <a href="/archives">
              <span class="site-state-item-count">57</span>
              <span class="site-state-item-name">日志</span>
            </a>
          </div>

          
            <div class="site-state-item site-state-categories">
              
                <span class="site-state-item-count">9</span>
                <span class="site-state-item-name">分类</span>
              
            </div>
          

          
            <div class="site-state-item site-state-tags">
              
                <span class="site-state-item-count">4</span>
                <span class="site-state-item-name">标签</span>
              
            </div>
          

        </nav>

        

        <div class="links-of-author motion-element">
          
        </div>

        
        

        
        

      </section>

      
        <section class="post-toc-wrap motion-element sidebar-panel sidebar-panel-active">
          <div class="post-toc">
            
              
            
            
              <div class="post-toc-content"><ol class="nav"><li class="nav-item nav-level-1"><a class="nav-link" href="#脉络（目录结构）"><span class="nav-number">1.</span> <span class="nav-text">脉络（目录结构）</span></a></li><li class="nav-item nav-level-1"><a class="nav-link" href="#密码"><span class="nav-number">2.</span> <span class="nav-text">密码</span></a><ol class="nav-child"><li class="nav-item nav-level-2"><a class="nav-link" href="#密码与信息安全常识"><span class="nav-number">2.1.</span> <span class="nav-text">密码与信息安全常识</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#传统密码"><span class="nav-number">2.2.</span> <span class="nav-text">传统密码</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#对称密码"><span class="nav-number">2.3.</span> <span class="nav-text">对称密码</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#分组密码"><span class="nav-number">2.4.</span> <span class="nav-text">分组密码</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#公钥密码"><span class="nav-number">2.5.</span> <span class="nav-text">公钥密码</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#混合密码系统"><span class="nav-number">2.6.</span> <span class="nav-text">混合密码系统</span></a></li></ol></li><li class="nav-item nav-level-1"><a class="nav-link" href="#认证"><span class="nav-number">3.</span> <span class="nav-text">认证</span></a><ol class="nav-child"><li class="nav-item nav-level-2"><a class="nav-link" href="#单向散列函数"><span class="nav-number">3.1.</span> <span class="nav-text">单向散列函数</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#消息验证码"><span class="nav-number">3.2.</span> <span class="nav-text">消息验证码</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#数字签名"><span class="nav-number">3.3.</span> <span class="nav-text">数字签名</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#证书"><span class="nav-number">3.4.</span> <span class="nav-text">证书</span></a></li></ol></li><li class="nav-item nav-level-1"><a class="nav-link" href="#第三部分"><span class="nav-number">4.</span> <span class="nav-text">第三部分</span></a><ol class="nav-child"><li class="nav-item nav-level-2"><a class="nav-link" href="#随机数"><span class="nav-number">4.1.</span> <span class="nav-text">随机数</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#PGP"><span class="nav-number">4.2.</span> <span class="nav-text">PGP</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#SSL-TLS"><span class="nav-number">4.3.</span> <span class="nav-text">SSL/TLS</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#密码技术与现实社会"><span class="nav-number">4.4.</span> <span class="nav-text">密码技术与现实社会</span></a></li></ol></li></ol></div>
            
          </div>
        </section>
      

    </div>
  </aside>


        
      </div>
    </main>

    <footer id="footer" class="footer">
      <div class="footer-inner">
        <div class="copyright" >
  
  &copy; 
  <span itemprop="copyrightYear">2016</span>
  <span class="with-love">
    <i class="fa fa-heart"></i>
  </span>
  <span class="author" itemprop="copyrightHolder">Alan</span>
</div>

<div class="powered-by">
  Powered by <a class="theme-link" href="https://hexo.io">Hexo</a> 
</div>

<div class="theme-info">
  主题 -
  <a class="theme-link" href="https://github.com/iissnan/hexo-theme-next">
    NexT.Pisces
  </a>
</div>

        

        
      </div>
    </footer>

    <div class="back-to-top">
      <i class="fa fa-arrow-up"></i>
    </div>
  </div>

  

<script type="text/javascript">
  if (Object.prototype.toString.call(window.Promise) !== '[object Function]') {
    window.Promise = null;
  }
</script>









  



  
  <script type="text/javascript" src="/vendors/jquery/index.js?v=2.1.3"></script>

  
  <script type="text/javascript" src="/vendors/fastclick/lib/fastclick.min.js?v=1.0.6"></script>

  
  <script type="text/javascript" src="/vendors/jquery_lazyload/jquery.lazyload.js?v=1.9.7"></script>

  
  <script type="text/javascript" src="/vendors/velocity/velocity.min.js?v=1.2.1"></script>

  
  <script type="text/javascript" src="/vendors/velocity/velocity.ui.min.js?v=1.2.1"></script>

  
  <script type="text/javascript" src="/vendors/fancybox/source/jquery.fancybox.pack.js?v=2.1.5"></script>


  


  <script type="text/javascript" src="/js/src/utils.js?v=5.0.1"></script>

  <script type="text/javascript" src="/js/src/motion.js?v=5.0.1"></script>



  
  


  <script type="text/javascript" src="/js/src/affix.js?v=5.0.1"></script>

  <script type="text/javascript" src="/js/src/schemes/pisces.js?v=5.0.1"></script>



  
  <script type="text/javascript" src="/js/src/scrollspy.js?v=5.0.1"></script>
<script type="text/javascript" src="/js/src/post-details.js?v=5.0.1"></script>



  


  <script type="text/javascript" src="/js/src/bootstrap.js?v=5.0.1"></script>



  



  




  
  

  

  

  

</body>
</html>
